//
// $Id: MoveListUI.java 9 2007-04-18 14:04:34Z z_hossain $
//
// xChess is a multiplatform graphical chess user interface
// Copyright (C) 2007  MD. Z. Hossain <z_hossain@users.sf.net>
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  
// 02110-1301, USA.
//
// For more information visit http://xchess.sourceforge.net
//

package gui;

import java.util.ArrayList;

import javax.swing.DefaultListModel;
import javax.swing.JList;

import net.sourceforge.xchess.Notation;

import model.Move;

public class MoveListUI extends JList {
	
	private DefaultListModel listModel = new DefaultListModel();
	private ArrayList<Move> moveList = new ArrayList<Move>();
	
	public MoveListUI() {
		setModel(listModel);
	}

	public void addMove(Move move) {
		moveList.add(move);
		String notation;
		int count = listModel.size() + 1;
		if(count % 2 == 1) notation = String.valueOf((count / 2) + 1);
		else notation = "       ..";
		listModel.addElement(notation + ". " + Notation.toString(move));
	}
	
	public ArrayList<Move> getMoveList() {
		return moveList;
	}

	public void clear() {
		moveList.clear();
		listModel.clear();
	}
}
